package strategy.demo;

public class Application {
    static void fill(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int) (Math.random() * 10000);
        }
    }

    public static void main(String[] args) {
        int[] arr = new int[10000];
        fill(arr);
        SortContext sortContext = new SortContext(new BubbleSortStrategy());
        sortContext.sort(arr);


        fill(arr);
        sortContext.setSortStrategy(new SelectionSortStrategy());
        sortContext.sort(arr);


        fill(arr);
        sortContext.setSortStrategy(new QuickSortStrategy());
        sortContext.sort(arr);

        fill(arr);
        sortContext.setSortStrategy(new MergeSortStrategy());
        sortContext.sort(arr);


        fill(arr);
        sortContext.setSortStrategy(new HeapSortStrategy());
        sortContext.sort(arr);
    }
}
